﻿/**
 *  @ease-pack.js
 *  @version: 1.00
 *  @author: Jesse Freeman
 *  @date: May 2012
 *  @copyright (c) 2013 Jesse Freeman, under The MIT License (see LICENSE)
 *  
 *  Part of the Super Jetroid Starter Kit: 
 */
ig.module(
    'plugins.ease-pack'
)
    .requires(
    
)
    .defines(function() {

        /*!
 * VERSION: beta 1.27
 * DATE: 2012-07-27
 * JavaScript (ActionScript 3 and 2 also available)
 * UPDATES AND DOCS AT: http://www.greensock.com
 *
 * Copyright (c) 2008-2013, GreenSock. All rights reserved. 
 * This work is subject to the terms in http://www.greensock.com/terms_of_use.html or for 
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 **/
        (window._gsQueue || (window._gsQueue = [])).push(function () {
            _gsDefine("easing.Back", ["easing.Ease"], function (g) {
                var c = window.com.greensock._class, b = function (a, l) {
                    var b = c("easing." + a, function () {
                    }, !0), d = b.prototype = new g;
                    d.constructor = b;
                    d.getRatio = l;
                    return b
                }, h = function (a, l) {
                    var b = c("easing." + a, function (a) {
                        this._p1 = a || 0 === a ? a : 1.70158;
                        this._p2 = 1.525 * this._p1
                    }, !0), d = b.prototype = new g;
                    d.constructor = b;
                    d.getRatio = l;
                    d.config = function (a) {
                        return new b(a)
                    };
                    return b
                }, n = h("BackOut", function (a) {
                    return (a -= 1) * a * ((this._p1 + 1) * a + this._p1) + 1
                }), o = h("BackIn", function (a) {
                    return a * a * ((this._p1 + 1) * a - this._p1)
                }), h = h("BackInOut", function (a) {
                    return 1 > (a *= 2) ? 0.5 * a * a * ((this._p2 + 1) * a - this._p2) : 0.5 * ((a -= 2) * a * ((this._p2 + 1) * a + this._p2) + 2)
                }), p = b("BounceOut", function (a) {
                    return a < 1 / 2.75 ? 7.5625 * a * a : a < 2 / 2.75 ? 7.5625 * (a -= 1.5 / 2.75) * a + 0.75 : a < 2.5 / 2.75 ? 7.5625 * (a -= 2.25 / 2.75) * a + 0.9375 : 7.5625 * (a -= 2.625 / 2.75) * a + 0.984375
                }), q = b("BounceIn", function (a) {
                    return (a = 1 - a) < 1 / 2.75 ? 1 - 7.5625 * a * a : a < 2 / 2.75 ? 1 - (7.5625 * (a -= 1.5 / 2.75) * a + 0.75) : a < 2.5 / 2.75 ? 1 - (7.5625 * (a -= 2.25 / 2.75) * a + 0.9375) : 1 - (7.5625 * (a -= 2.625 / 2.75) * a + 0.984375)
                }), r = b("BounceInOut", function (a) {
                    var b = 0.5 > a, a = b ? 1 - 2 * a : 2 * a - 1, a = a < 1 / 2.75 ? 7.5625 * a * a : a < 2 / 2.75 ? 7.5625 * (a -= 1.5 / 2.75) * a + 0.75 : a < 2.5 / 2.75 ? 7.5625 * (a -= 2.25 / 2.75) * a + 0.9375 : 7.5625 * (a -= 2.625 / 2.75) * a + 0.984375;
                    return b ? 0.5 * (1 - a) : 0.5 * a + 0.5
                }), s = b("CircOut", function (a) {
                    return Math.sqrt(1 - (a -= 1) * a)
                }), t = b("CircIn", function (a) {
                    return -(Math.sqrt(1 - a * a) - 1)
                }), u = b("CircInOut", function (a) {
                    return 1 > (a *= 2) ? -0.5 * (Math.sqrt(1 - a * a) - 1) : 0.5 * (Math.sqrt(1 - (a -= 2) * a) + 1)
                }), i = 2 * Math.PI, j = function (a, b, e) {
                    var d = c("easing." + a, function (a, b) {
                        this._p1 = a || 1;
                        this._p2 = b || e;
                        this._p3 = this._p2 / i * (Math.asin(1 / this._p1) || 0)
                    }, !0), a = d.prototype = new g;
                    a.constructor = d;
                    a.getRatio = b;
                    a.config = function (a, b) {
                        return new d(a, b)
                    };
                    return d
                }, v = j("ElasticOut", function (a) {
                    return this._p1 * Math.pow(2, -10 * a) * Math.sin((a - this._p3) * i / this._p2) + 1
                }, 0.3), w = j("ElasticIn", function (a) {
                    return -(this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * i / this._p2))
                }, 0.3), j = j("ElasticInOut", function (a) {
                    return 1 > (a *= 2) ? -0.5 * this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * i / this._p2) : 0.5 * this._p1 * Math.pow(2, -10 * (a -= 1)) * Math.sin((a - this._p3) * i / this._p2) + 1
                }, 0.45), x = b("ExpoOut", function (a) {
                    return 1 - Math.pow(2, -10 * a)
                }), y = b("ExpoIn", function (a) {
                    return Math.pow(2, 10 * (a - 1)) - 0.001
                }), z = b("ExpoInOut", function (a) {
                    return 1 > (a *= 2) ? 0.5 * Math.pow(2, 10 * (a - 1)) : 0.5 * (2 - Math.pow(2, -10 * (a - 1)))
                }), m = Math.PI / 2, A = b("SineOut", function (a) {
                    return Math.sin(a * m)
                }), B = b("SineIn", function (a) {
                    return -Math.cos(a * m) + 1
                }), b = b("SineInOut", function (a) {
                    return -0.5 * (Math.cos(Math.PI * a) - 1)
                }), f = c("easing.SlowMo", function (a, b, c) {
                    null == a ? a = 0.7 : 1 < a && (a = 1);
                    this._p = 1 != a ? b || 0 === b ? b : 0.7 : 0;
                    this._p1 = (1 - a) / 2;
                    this._p2 = a;
                    this._p3 = this._p1 + this._p2;
                    this._calcEnd = !0 === c
                }, !0), e = f.prototype = new g;
                e.constructor = f;
                e.getRatio = function (a) {
                    var b = a + (0.5 - a) * this._p;
                    return a < this._p1 ? this._calcEnd ? 1 - (a = 1 - a / this._p1) * a : b - (a = 1 - a / this._p1) * a * a * a * b : a > this._p3 ? this._calcEnd ? 1 - (a = (a - this._p3) / this._p1) * a : b + (a - b) * (a = (a - this._p3) / this._p1) * a * a * a : this._calcEnd ? 1 : b
                };
                f.ease = new f(0.7, 0.7);
                e.config = f.config = function (a, b, c) {
                    return new f(a, b, c)
                };
                var k = c("easing.SteppedEase", function (a) {
                    a = a || 1;
                    this._p1 = 1 / a;
                    this._p2 = a + 1
                }, !0), e = k.prototype = new g;
                e.constructor = k;
                e.getRatio = function (a) {
                    0 > a ? a = 0 : 1 <= a && (a = 0.999999999);
                    return (this._p2 * a >> 0) * this._p1
                };
                e.config = k.config = function (a) {
                    return new k(a)
                };
                c("easing.Bounce", { easeOut: new p, easeIn: new q, easeInOut: new r }, !0);
                c("easing.Circ", { easeOut: new s, easeIn: new t, easeInOut: new u }, !0);
                c("easing.Elastic", { easeOut: new v, easeIn: new w, easeInOut: new j }, !0);
                c("easing.Expo", { easeOut: new x, easeIn: new y, easeInOut: new z }, !0);
                c("easing.Sine", { easeOut: new A, easeIn: new B, easeInOut: new b }, !0);
                return { easeOut: new n, easeIn: new o, easeInOut: new h }
            }, !0)
        });
        window._gsDefine && _gsQueue.pop()();

})